package com.quectel.pay.module.order.constants;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单退款所需要的常量
 *
 * @author caolu
 */
public class OrderRefundConstants {
    /**
     * 退款类型
     */
    @AllArgsConstructor
    public enum RefundType {
        /**
         * 自动结算
         */
        AUTO(new Byte("1")),
        /**
         * 人工
         */
        PERSON(new Byte("2"));
        @Getter
        @Setter
        private Byte type;
    }

    /**
     * 退款状态
     */
    @AllArgsConstructor
    public enum OrderRefundStatus {

        /**
         * 未退款
         */
        NOT_REFUND(new Byte("0")),

        /**
         * 退款中
         */
        REFUNDING(new Byte("1")),
        /**
         * 退款成功
         */
        REFUND_SUCCESS(new Byte("2"));
        @Getter
        @Setter
        private Byte status;
    }

    /**
     * 审核状态
     */
    @AllArgsConstructor
    public enum RefundAuditStatus {
        /**
         * 待审核
         */
        AUDIT(new Byte("0")),
        /**
         * 通过
         */
        APPROVED(new Byte("1")),
        /**
         * 未通过
         */
        NO_PASS(new Byte("2"));
        @Getter
        @Setter
        private Byte status;
    }

}
